package com.toe.forum.webapi.mapper;

import com.toe.pojo.dto.forum.AlbumUpdateDTO;
import com.toe.pojo.entity.forum.ForumAlbum;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.toe.pojo.vo.forum.AlbumVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
 * <p>
 * 相册 Mapper 接口
 * </p>
 *
 * @author 陶涛
 * @since 2022-07-19
 */
@Repository
public interface ForumAlbumMapper extends BaseMapper<ForumAlbum> {

    /**
     * 利用mybatis-plus添加文章分类
     * @param forumCategory
     * int insert(ForumCategory forumCategory);
     * @return
     */

    /***
     * 根据 ID 删除
     * @param id 主键ID
     *  int deleteById(Serializable id);
     * */

    /**
     * 将albumUpdateDTO的id作为修改条件,其余作为修改值
     * @param albumUpdateDTO
     * @return
     */
    int updateAlbumByID(@Param("albumUpdateDTO") AlbumUpdateDTO albumUpdateDTO);

    /**
     * 查询相册中的全部图片
     * @return
     */
    List<AlbumVO> selectAllAlbum();

    /**
     * 根据文章id查询某个文章的全部图片
     * @param articleId
     * @return
     */
    List<AlbumVO> selectAllAlbumByArticleId(long articleId);

    /**
     * 查询某一张图片
     * @param id
     * @return
     */
    AlbumVO selectAlbumById(long id);

    /**
     * 精确匹配某张图片
     * @param articleId
     * @param url
     * @return
     */
    AlbumVO selectAlbum(@Param("articleId") long articleId,@Param("url") String url);

    /**
     * (管理员)批量删除图片
     * @return
     */
    int deleteAlbumByIds(Long... ids);
}
